home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1999 March / EnigmA AMIGA RUN 35 (1999)(G.R. Edizioni)(IT)[!][issue 1999-03].iso / earcd / devel / wild / support / alphargbmaker.bas < prev    next >
BASIC Source File  |  1999-01-01  |  2KB  |  112 lines

  1.  
  2. '$INCLUDE BASU:_LoadPalette.bas
  3. '$INCLUDE BASU:_BestCol.bas
  4.  
  5. SCREEN 1,320,256,8,1
  6. WINDOW 1,"AlphaRGB Maker",,,1
  7. CALL LoadPalette("EscapeLevels:BackGrounds/Various1.rgb32",1)
  8.  
  9. x=0
  10. y=0
  11.  
  12. DIM TR%(255,16,16),TG%(255,16,16),TB%(255,16,16)    'color,alpha,r(gb)
  13.  
  14. ' example: a white face with a yellow glass on. Must result a=0 yellow, a=7 white,a=15 white
  15. '       a black face with a yellow glass on. Must result a=0 black a=7 black a=15 yellow
  16.  
  17. '          a white face with a DARK RED glass on. Must result a=0 dark red a=7 white
  18.  
  19. ' 0-7  AlphedRed = Min(LightRed * (a/8),ColorRed)    (lightcutting)
  20. ' 8-15 AlphedRed = ColorRed + (a-8)*(LightRed/7)    (ghostdrawing)
  21.  
  22. LOCATE 1,35:PRINT "RED"
  23. FOR a=0 TO 15
  24.  FOR r=0 TO 15
  25.   x=0
  26.   FOR c=0 TO 255 
  27.    IF a<8 
  28.     RC=(r*17)*a/8
  29.     IF R%(c)<RC THEN RC=R%(c)
  30.    ELSE
  31.     RC=R%(c)+((a-8)*r*2.42)
  32.     IF RC>255 THEN RC=255
  33.    END IF      
  34.    GC=G%(c)
  35.    BC=B%(c)
  36.    FC=BestCol(RC,GC,BC,6,2,1)
  37.    PSET (x,y),FC
  38.    TR%(c,a,r)=FC
  39.    x=x+1
  40.   NEXT c
  41.  y=y+1
  42.  NEXT r
  43. NEXT a
  44.  
  45. LOCATE 1,35:PRINT "GREEN"
  46. y=0
  47. FOR a=0 TO 15
  48.  FOR g=0 TO 15
  49.   x=0
  50.   FOR c=0 TO 255 
  51.    IF a<8 
  52.     GC=(g*17)*a/8
  53.     IF G%(c)<GC THEN GC=G%(c)
  54.    ELSE
  55.     GC=G%(c)+((a-8)*g*2.42)
  56.     IF GC>255 THEN GC=255
  57.    END IF      
  58.    RC=R%(c)
  59.    BC=B%(c)
  60.    FC=BestCol(RC,GC,BC,6,2,1)
  61.    PSET (x,y),FC
  62.    TG%(c,a,r)=FC
  63.    x=x+1
  64.   NEXT c
  65.  y=y+1
  66.  NEXT g
  67. NEXT a
  68.  
  69. LOCATE 1,35:PRINT "BLUE"
  70. y=0
  71. FOR a=0 TO 15
  72.  FOR b=0 TO 15
  73.   x=0
  74.   FOR c=0 TO 255 
  75.    IF a<8 
  76.     BC=(b*17)*a/8
  77.     IF B%(c)<BC THEN BC=B%(c)
  78.    ELSE
  79.     BC=B%(c)+((a-8)*b*2.42)
  80.     IF BC>255 THEN BC=255
  81.    END IF      
  82.    GC=G%(c)
  83.    RC=R%(c)
  84.    FC=BestCol(RC,GC,BC,6,2,1)
  85.    PSET (x,y),FC
  86.    TB%(c,a,r)=FC
  87.    x=x+1
  88.   NEXT c
  89.  y=y+1
  90.  NEXT b
  91. NEXT a
  92.  
  93. OPEN "WildPJ:Trash/Various1.AlphaR" FOR OUTPUT AS 1
  94. OPEN "WildPJ:Trash/Various1.AlphaG" FOR OUTPUT AS 2
  95. OPEN "WildPJ:Trash/Various1.AlphaB" FOR OUTPUT AS 3
  96. FOR a=0 TO 15
  97.  FOR t=0 TO 15
  98.   FOR c=0 TO 255
  99.    PRINT #1,CHR$(TR%(c,a,t));
  100.    PRINT #2,CHR$(TG%(c,a,t));
  101.    PRINT #3,CHR$(TB%(c,a,t));
  102.   NEXT c
  103.  NEXT t
  104. NEXT a
  105. CLOSE 1
  106. CLOSE 2
  107. CLOSE 3
  108.  
  109.    
  110.   
  111.   
  112.